package com.shop.trade.atom.atomsvc;

import com.shop.common.entity.trade.OrderBase;
import com.shop.common.model.InputBean;
import com.shop.common.model.ServiceBean;
import com.shop.common.model.param.trade.OrderBaseInput;
import com.shop.common.model.result.trade.OrderBaseOutput;

import java.util.List;

public interface IOrderAtomSvc {
    /**
     * @Author zhoulk
     * @Description //TODO 插入订单基本信息
     * @Date 17:31 2019/3/11
     *
     * @Param [orderBaseInput]
     * @return com.shop.common.model.ResultModel<java.lang.Integer>
     * @errorCode //TODO        
     **/
    ServiceBean<Integer> insertOrderBase(OrderBase orderBaseInput);

    /**
     * @Author zhoulk
     * @Description //TODO 删除订单基本信息
     * @Date 17:32 2019/3/11
     *
     * @Param [orderBaseInput]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO        
     **/
    ServiceBean<String> deleteOrderBase(Integer orderId);

    /**
     * @Author zhoulk
     * @Description //TODO 查询订单基本信息
     * @Date 17:32 2019/3/11
     *
     * @Param [orderBaseInput]
     * @return com.shop.common.model.ResultModel<com.shop.common.model.result.trade.OrderBaseOutput>
     * @errorCode //TODO        
     **/
    ServiceBean<OrderBaseOutput> selectOrderBase(OrderBaseInput orderBaseInput);

    ServiceBean<OrderBaseOutput> selectOrderBaseById(Integer orderId);

    /**
     * @Author zhoulk
     * @Description //TODO 查询订单列表
     * @Date 17:32 2019/3/11
     *
     * @Param [orderBaseInput]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.trade.OrderBaseOutput>>
     * @errorCode //TODO        
     **/
    ServiceBean<List<OrderBaseOutput>> selectOrderBaseList(OrderBaseInput orderBaseInput);

    /**
     * @Author zhoulk
     * @Description //TODO 分页查询订单列表
     * @Date 17:32 2019/3/11
     *
     * @Param [orderBaseInput]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.trade.OrderBaseOutput>>
     * @errorCode //TODO        
     **/
    ServiceBean<List<OrderBaseOutput>> selectOrderBaseList4P(InputBean<OrderBaseInput> orderBaseInput);

    /**
     * @Author zhoulk
     * @Description //TODO 更新订单信息
     * @Date 17:32 2019/3/11
     *
     * @Param [orderBaseInput]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.param.trade.OrderBaseInput>>
     * @errorCode //TODO        
     **/
    ServiceBean<Integer> updateOrderBase(OrderBase orderBase);

}
